<?php

/** Clase Item, engloba en este caso un comentario
 * 
 *
 * @author Carlos y Dani
 */
class itemClass {
    //PROPIEDADES
    private $id;
    private $id_subcategoria;
    private $nombre_item;
    private $description;
    private $url_foto;
    private $contenido;
    
    //CONSTRUCTOR
    public function __construct($id, $id_sub, $name, $foto, $description, $contenido){
        $this->id = $id;
        $this->id_subcategoria = $id_sub;
        $this->nombre_item = $name;
        $this->url_foto = $foto;
        $this->description = $description;
        $this->contenido = $contenido;
    }
    
    //ACCESORES
    public function getID(){return $this->id;}
    public function setID($value){$this->id=$value;}
    
    public function getIDSub() {return $this->id_subcategoria;}
    public function setIDSub( $value ) {$this->id = $value;}
    
    public function getName() {return $this->nombre_item;}
    public function setName ( $value ) { $this->nombre_item=$value; }
    
    public function getDescription() {return $this->description;}
    public function setDescription ($value){$this->description=$value;}
    
    public function getUrlFoto(){ return $this->url_foto; }
    public function setUrlFoto( $url_foto ){ $this->url_foto = $url_foto; }
    
    public function getContenido(){ return $this->contenido; }
    public function setContenido( $contenido ){ return $this->contenido; }
    
    //METODOS
    
    /*  listaItemsSubCat()
     *  Devuelve la lista de items que coinciden con la id de la subcategoria
     *  Return Array items
     */
    public static function listaItemsSubCat( $id_subCat ){
        try{
            $connection = new Connection();//Creamos una variable para conectarnos a la BBDD
            $connection->conectar();//Nos conectamos a la BBDD
            //Array a preparar
            $listaItems = array();
            $consulta = 'SELECT * FROM item WHERE id_subcategoria="'.$id_subCat.'"'; 
            //obtenemos query
            if ( $sentencia = $connection->getConexion()->query( $consulta ) ) {
                /* obtener array asociativo */
                while( $row = $sentencia->fetch_assoc() ) {
                    $listaItems[] = new itemClass( $row['id_item'], $row['id_subCategoria'], $row['nombre_item'],$row['url_img'], $row['descripcion'],$row['contenido'] );
                }
                /* cerrar sentencia */
                $sentencia->close();
                /* cerrar la conexi�n */
                $connection->desconectar();
                
                //echo count($subcategorias);
                return $listaItems;
            }
        } catch( Exception $e ){
            return null;
        }
    }
    
    
     /* getItemById
      * Devuelve un item pasandole la id 
      * @param: id
      * @return: item
      */
       public static function getItemById( $id ) {
        try{
            $connection = new Connection();//Creamos una variable para conectarnos a la BBDD
            $connection->conectar();//Nos conectamos a la BBDD
				
				//prepare statament
            $consulta = 'SELECT * FROM item WHERE id_item =?'; 
            if ($sentencia = $connection->getConexion()->prepare($consulta)) {
					//asignamos la variable $category al ? ,  s=string, i=integer,d=double 
		$sentencia->bind_param( "i", $id );
					/* ejecutar la consulta */
		$sentencia->execute();
					/* vincular variables a la sentencia preparada */
                                        //id_item 	id_subCategoria 	nombre_item 	url_img 	descripcion 	contenido
                 $sentencia->bind_result($id,$id_subcategoria,$nombre_item,$url_img,$descripti,$content);
                                        /* obtener valores */
                 while ($sentencia->fetch()) {
                     $item = new itemClass($id,$id_subcategoria,$nombre_item,$url_img,$descripti,$content);
                 }
					/* cerrar sentencia */
		$sentencia->close();
					/* cerrar la conexión */
		$connection->desconectar();

		return $item;
			}
            } catch( Exception $e ){
		return false;
            }
				
                    
        }
        

    /* existItem
        * Función que verifica que existe la subcatedoria
        * @param: recive un string
        * @return: boolean
        */
        public static function existItem( $id ){
            //pasamos $value a minusculas
            //$val = strtolower( $value );
            try{
            //creamos conexion
                    $con = new Connection();
                    $con->conectar();
                    //$consulta = "SELECT * FROM subCategorias WHERE nombre_subcategoria ='".$val."'";
                    $consulta = "SELECT * FROM item WHERE id_item =?";
                        if ($sentencia = $con->getConexion()->prepare($consulta)) {
                            //asignamos la variable $val al ? ,  s=string, i=integer,d=double , si tiene mas es con array ->execute(array('hola','k'));
                            $sentencia->bind_param("i", $id);                          
                            /* ejecutar la consulta */
                            $sentencia->execute();
                            /* almacenar el resultado */                                  
                            $sentencia->store_result();
                            //$sentencia->num_rows devuelve el numero de registros que ha devuelto la sentencia
                            //asignamos a una variable el numero de registros devueltos
                            $num = $sentencia->num_rows;
                            /* cerrar sentencia */
                            $sentencia->close();
                            /* cerrar la conexión */
                            $con->desconectar();
                    if( $num==0){return false;}
                    else if( $num==1 ){return true;}  
                            }
                        } catch( Exception $e ){
                                    return false;

                        }
        }
}

?>
